#coding:utf-8
from Tkinter import *    #窗口
import tkMessageBox      #弹窗口
import urllib
import json
import mp3play
mlist = []
def music():
    if e1.get() == "":  #取编辑框的值
        tkMessageBox.showinfo("提示：","请先输入歌曲名字再搜索")
        return
    name = e1.get().encode("utf-8")
    name = urllib.quote(name)  #转码？？？
    html=urllib.urlopen("http://s.music.163.com/search/get/?type=1&s=%s&limit=9" %name).read()
    #print html
    a = json.loads(html) #转成json格式
    print a[u"result"][u"songs"][0][u"album"][u"name"]  #歌名，通过google浏览器查看具体格式
    print len(a[u"result"][u"songs"])  #一共有多少同名歌曲，取列表的长度
    print a[u"result"][u"songs"][0][u"audio"] #mp3 like
    for i in range(len(a[u"result"][u"songs"])):   #把所有歌曲加入list，格式：歌曲+歌手
        Lb.insert(i,a[u"result"][u'songs'][i][u'album'][u'name']+"("+a[u"result"][u'songs'][i][u'artists'][0][u'name']+")")
        mlist.append(a[u"result"][u"songs"][i][u"audio"])
    print mlist

def play(event):
    print Lb.curselection()[0] #索引
    sy =  Lb.curselection()[0]
    #print mlist[sy]
    urllib.urlretrieve(mlist[sy],'1.mp3')
    mp3 = mp3play.load('1.mp3')
    mp3.play()
    time.sleep(min,(300,mp3.seconds()))
    
top = Tk() #创建窗口
top.title("Dean‘s Music")   #窗口的名字
#top.geometry("500X300+800+300")   #定义位置
#top.resizable(width=False,heigh=False)   #定义大小
e1 = Entry(top) #窗口上的编辑框
e1.pack()  #布局



B = Button(top,text="搜  索",command = music).pack()  #添加按钮
var = StringVar()  #？？？？
Lb = Listbox(top,width = 50,listvariable=var)  #搜索按钮下创建列表
Lb.bind('<Double-Button-1>',play)  #双击左键play ,1表示左键
Lb.pack()   

label = Label(top,text="欢迎使用Dean Music",fg="red") #下面显示标签信息
label.pack()

top.mainloop() #循环发送消息


#http://s.music.163.com/search/get/?type=1&s=歌曲名字&limit=9 #音乐接口
#http://s.music.163.com/search/get/?type=1&s=%E6%B5%B7%E9%98%94%E5%A4%A9%E7%A9%BA&limit=9
#mp3play  pygame  play music
